home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld 1996 April
/
Macworld (1996-04).dmg
/
Shareware World
/
Utilities
/
Extensions
/
Mt. Everything
/
History.p
next >
Wrap
Text File
|
1995-11-19
|
27KB
|
564 lines
**************************************************************
** Project:
** Mt.Everything cdev
**************************************************************
Font Monaco 9, Tabs at 3 spaces
**************************************************************
** SCSI-Managing Control Panel by
** Horst Pralow
** All rights reserved
** © Horst Pralow, 1991/up to now
**
** Changes History
**************************************************************
No changes history recorded for versions older than 1.0d8
Version 1.0d8:
Improved Error checking before trying to read data from
a specific device. Astonishingly this sometimes causes
the cdev to hang where it worked correctly on previous
Versions.
Version 1.0d9:
03/08/92
Addressed the beforementioned problem. Added a call to
TestUnitReady before trying to operate on the device.
Added support for old style (Inside Macintosh Vol. IV)
Partitioning scheme. Not tested yet. The cdev did
definitly crash on such drives in the earlier versions.
Version 1.0d9.1:
03/10/92
Fixed problems with InsideMac vol IV style drives and
revised partition info display. Now the partitioning
scheme is shown when no single partition is
selected.
Version 1.0b1:
03/11/92
Fixed problems during the mount phase and reload
of a driver. Included a call to FlushDataCache
on 68030 machines before calling the new driver.
Version 1.0.b2:
04/17/92
Added color support and changed the way the cdev
does its initial display when first opened.
Also removed the Option-Key from "Start/Stop-Unit"
It now determines for the current id whether to
Start or Stop the unit by calling TestUnitReady.
Version 1.0b3:
04/26/92
Improved handling of update events in main window
(No more flicker when hitting an item)
Added updatehandler for child dialogs.
Ballon help implemented.
Version 1.0b4:
05/01/92
Improved user feedback on keyboard commands
Added display of watch cursor for mount and start/stop
Refined ModalFilter function for child dialogs:
Return and Enter-keys are handled correct now.
Multiple-driver bug addressed (testing will show if it
was fixed). We now look for the ddType field to
determine which driver to load. A corresponding bug
in the CompareDrivers routine fixed. We now compare the
Driver-name in the DCTLEntry^ with the driver loaded
from disk and not with the one already im memory (this
was of course pure bullshit).
Version 1.0b5:
05/07/92
Mount support for old style drivers added which expect
a pointer to the device partition map (type TS) in A0
on entry.
Minor update bugs in main window fixed.
Version 1.0b6:
05/13/92
Added special case treatment for drivers like FWB's HDT
bunch of drivers. These ones use a special stage one
loader and so driver compare never worked. Added expand-
dable resource of type 'Scas' which contains substrings
to search for in case CompareDrivers failes. If this
substring is found in the driver or loader (we can not
know about it) we'll treat CompareDrivers successfull.
We now pass a pointer to disk block 1 for all drivers in
A0 on calling the driver. HDT drivers rely on this
feature where as most drivers do not.
Version 1.0b7: 05/25/92
Added 'Options'-Button and a pre-version of the Options-
Dialog. Only options-group "Stop-Options" works.
Additional checking before accessing any device included.
Stop-Options: On stop-unit we try to umnount all parti-
tions by default now. If there are partitions busy then
the ones umnounted will be remounted invisible for the
user.
Version 1.0b7.1:
05/31/92
Added balloon help for Options Button and Options dialog
Version 1.0b7.2:
Stop-Unit with Auto-Unmount lost watch-cursor cause
PBUnMount implicitely calls InitCursor. We now restore
the wristwatch until the drive has stopped and returned
completion.
Version 1.0b7.3:
Implemented mount option with Built-in SCSI driver.
Modified driver to be compatible with old-style IM IV
partitioning scheme.
Version 1.0b7.4:
Internal version / new bugs introduced
Version 1.0b7.5:
Pop-Up menus in main window introduced. They show all
available HFS partitions on the selected drive.
INIT for mounting Hotkey (without mounting function yet)
Introduced. Communaction cdev/INIT via PPCToolbox in
System 7.
Minor bug fixes
Version 1.0b7.6:
PopUpMenus now selectivly mounts the choosen volume.
Version 1.0b8:
First version with working mount hotkey. Thus big leap
in version numbering.
Mount hotkey is not yet configurable. Default:
Command-Control-M.
Version 1.0b8.1:
Changed the popup menu display to include the total
volume size of each partition displayed. Also show a
check mark for the partitons already mounted
Version 1.0b8.2:
Improved appearance on color monitors by using the users
highlight color in certain places.
Bug fixes according to crashes when using the popup menu
feature.
Version 1.0b8.3:
01/27/93
Adding self test for Code-Movement. Remove Control-Track-
king when deactivated.
Version 1.0b8.4:
03/10/93
SCSI-code totally rewritten to be more compact and
also to address potential problems with Virtual Memory.
If Virtual Memory is running we now hold all our buffers
we use during a SCSI transaction.
Finally: a method to configure the hotkey
Animated cursor changed. Now Implemted via a VBL-Task
Removed the option "Unmount only if Option-down". From my
opinion this option doesn't make sense.
Known glitches:
Typos in help balloons. Also: Help balloon not changed
to reflect the changes in the Options dialog.
Some glitches in the display of the hotkey if it is one
of the keypad keys. Still a need to propose the changes
to the SCSI code to the INIT.
Potential problems with the driver: Alhough the driver
runs stable and reliable on virtually all tested drives
there still are theoretical problems with virtual memory.
I have tested the driver with VM and never run into
problems but there might be difficulties using VM with
MTE's built in driver and VM because the driver is not
reentrant on an partion level. This will be fixed in the
next ß-release.
Another problem arises from the two SCSI busses of the
Quadra 9xx family of Macs. I haven't found any documenta-
tion yet how to distinguish between the two SCSI busses.
so MTE still goes the old fashioned way to assume a
single bus with ID in the range from 0 to 7.
Version 1.0b8.5:
03/14/93
Cosmetic fixes: Item size for displaying the hotkey chan-
ged. Fixed the display of certain hotkeys (all F-keys
on the USS Saratoga*, and others) which were not dis-
played correctly. Fixed "Can't find partioning infor-
mation" bug. Enhanced busy cursor routine now using an
'acur' resource. (Modify it if you like. MTE will use up
to 10 amination frames defined in the 'acur' resource.
Changed the file’s creator type to 'MΔEª'.
Linked the INIT with a new version of Paul Mercer’s
ShowInit to support color icon display at boot time.
No major changes. The whole weekend was dedicated to my
Porsche 914
03/19/93
Updatet the INIT to share the same SCSI code with the
cdev (eg. code being certified VM aware)
Additional checking if A/UX is running. The cdev has
always checked if _SCSIDispatch is implemented. On A/UX
its documented not to be implemented. This worked fine in
A/UX 2.0 and 2.01 (where SCSIProbe blindly crashed, haha)
With A/UX 3.0 things have changed however: The trap is
implemented!! But all it does is calling the SystemError
function. So MTE crashed too. We now do an additional
Gestalt and refuse to run if gestaltAUXVersion is any-
thing but 0. Apple should have left things the way they
used to be. There is no sense in implementing a trap just
to call the bomb dialog (because a program would get
there anyway if it tried to use that trap), but it makes
checking and writing clean code a lot more difficult.
03/29/93
Fixed some problems with the INIT which were introduced
due to bug fixes to the THINK RSRCRuntime.lib I made
according to a TechNote from Symantec. These led to
crashes when the cdev tried to read the Init’s current
settings. Now I have fixed Symantec’s fixes. These
were nothing but another bug!
04/15/93
New Version of the SCSI-driver included (V. 3.7)
The driver now is completely reentrant thus addressing
theoriticly possible problems with Virtual Memory. (On
various test none of these problems arose, but were
possible according to Apple information.) These problems
are fixed now.
For the Tech folks: The problem was when the driver
served an I/O request from the File Manager a page-fault
could occur and then the driver would have to be able
to service the VM-Manager request to page logical memory
without forgetting (i.e. overwriting) the context of the
interrupted File I/O. For my opinion this hardly can
happen in real life. There is one strong argument for my
point of view (apart from practical experience): The SCSI
Manager itself is single threaded in its current imple-
mentation. So when the situation statet above (Page fault
during SCSI I/O would appear, the Mac will bomb anyway,
no matter how VM arawre and reentrant the driver is).
Apple itself is aware of this problem and has the the
Device Manager to hold all memory incorporated with the
ongoing I/O transaction in advance. If the SCSI-Manager
were reentrant (thus fully VM-Compatible) they would not
have to do this. But for now we can be shure of: When
the Mac crashes with VM its not my driver's fault, it
might be the ROM.
Changed behaviour of PopUp Menu in main dialog.
With a removable media device in case there is no media
in the device MtE displays a Menu telling "Insert Media"
instead of just doing nothing
Fixed a few typos in this file.
Know outstanding bugs:
Sometimes the display in the main window gets confused
and draws some weird boxes instead of legable characters
if MTE encounters an error in SCSI communication.
Some strange things using Norton Utilities with MTE open
were reported to me, but I could not reproduce the bug.
It seems rather unlikely to me having any problems
with a program like Norton. There is only one trap-patch
in the code and this only gets activated when starting
a SCSI driver just read from disk to be more friendly to
old drivers who would cause a system crash under System
7 if they where loaded without the patch. These drivers
still can be used with Mt. Everything (e.g. one of your
ancient initialized cartridges you haven't used for
years). After installing the driver the patch is removed
immediately and no other program gets CPU time between
installation and removal of the patch.
Balloon help isn't fixed yet and still is somewhat
sluggish.
Last note: I encountered a bug on a IIci with an 14"
Color Monitor set to 8 bit color depth: On this machine
opening Mt. Everything and clicking on any SCSI item in
the main window dropped me into MacsBug with an Illeagl
Instruction error. Having the window deactiveted an then
activated again, everything worked fine. I was unable
to reproduce this error on any other machine. If you
see this misbehaviour too, please give me a note, and
I'll investigate on it.
Possible future improvements:
Additional Stop Unit option to eject the drives media on
removable media devices.
Support for large block size foramatted disk i.e. > 512
bytes per block.
Fix for the Check Disk Bug discussed recently in MacWeek.
Implemtation of the INIT/cdev communication via Gestalt
to be able to change INIT-settings without restart when
running System 6 (6.0.4 at least)
Final note:
Please don't use the version of MTE found an the Sytem 7
Utilities CD-ROM published recently. That version is
fairly outdated.
Version 1.0b8.6:
06/09/93
Fixed a bug with the Cmd-Key Popup menu that caused
the menu "Insert media" to appear with non-removable
drives when the drive in question was stopped. The menu
no longer appears with fixed disks.
06/14/93
Fixed a nonproper if-then-else expression which caused
the hotkey to fail when "Use Driver found on disk" was
selected and the hotkey had to load that driver because
it wasn't in RAM yet.
Found a bug in the formac Manager software (Versions 4.0
through 4.2 were tested) which caused my built-in
driver to use wrong partition boundaries on formac-ini-
tialized cartridge drives. The result is the "Disk is
unreadable" dialog in the finder. This is because formac
stores certain private data in the DataStart and DataCnt
field of a partition map entry thus confusing my driver.
The cdev however uses a more elaborated code to check
for the location of partitions and displays correct
information. This problem will probably be addressed in
the next release. (Since we name Mt. Everything and not
Mt. A Lot of Things.)
Version 1.0b8.7:
25.6.1993
Altered the pop-Up menu code so that the additional Item
"All Volumes" only appears if multiple partitions con-
taining HFS volumes are offline. Previously the item was
shown on each drive that contained multiple partitions
of whom at least one was offline.
06/27/1993
Enhanced version of the SCSI-Driver. The new driver does
some additional checking when identifying HFS-partitions.
This should fix problems with formac's Version 4 remov-
able drivers but it is a general reliability enhancement.
Version 1.0b8.8:
07/21/1993
The last enhancement of the driver introduced a severe
bug that caused the driver to report a wrong partition
size and to put false entries into the drive queue.
This led to problems with Disk First Aid (it reported
that the volume could not be read or that the volume is
not an HFS Disk). Worse this bug could destroy all data
on a drive if the user were to select the Erase Disk
command in the Finder on one of the Volumes.
SO DO NOT USE VERSION 1.0b8.7
Fixed a bug that caused MtE to stop a drive even if one
or more volumes on that drive were busy when the user
has selected the Auto-Unmount and Close Driver options
07/23/1993
Updated Balloon help
07/24/1993
Changed the code in the info Dialog which displays the
partitins on a drive. It used to display partitions in
the order in which they are defined in the partition map
map partition. But since the appearence of the list
imposeses to show things in the order they are located on
the driver I changed the code to do so.
The info Dialog now gives more verbose info when an A/UX
partition is selected. (This information is not always
correct but uses the structures found on the disk as
documented by Apple. The A/UX dp program shows the same
incorrect information.)
Version 1.0b9:
09/12/93
Revamped the INIT code. Made it to squeeze 300 bytes of
code. INITS should be as small as possible.
Also changed the code for the options dialog slightly
to make it more compact and more readable (at least
for me).
11/01/93
Finally a limited support for removable media eject:
The Stop-Unit button now tells the drive to allow media
removal before stopping the drive.
Version 1.0b10:
12/12/93
Fixed a bug in the popup - menu code that assigned a
command key equivalent to a partitions menu if the
volume name happened to contain a "/" character.
Changed the appearence of the title Picture and its
hilighting when clicked.
Version 1.0b11:
12/26/93
Revamped the appearence of the header Picture to fully
support multiple Monitors with different PixelSizes to
always display the best looking Pict even when the window
scans multiple monitors.
New feature: The Startup Disk is underlined with a Gray
line. And you can set a different startup disk with the
Boot Disk button. This roughly is the same as in the
Startup Disk control panel.
Version 1.0b12:
02/06/94
Mt. Everything finally runs on A/UX 3.0.
None of our snizzy features is available right now
but at least the main window lists the connected drives
Fixed a bug in the INIT code that caused the crossover
icon we display in case of loading errors to be placed
on the next free icon position rather then on top of ours
Known bug: When selecting a specific partition from a
device's pop-up menu then Mte will mount all Partitions
of the device instead of only the requested one. This
happens when Mte must install the driver for the device
in order to mount any partition. Once the driver is
installed the popup menu works as expected.
02/27/94
Modified A/UX calls to use undocumented ioctl calls which
work more reliable than the former attempt through
/dev/gd
03/01/94
The pop-up menu now mounts a specific partition from a
drive even if the driver for that drive was not loaded
when the user made the menu selection. (This fixes bug
noted 6.2.94).
03/10/94
The pop-up menu no longer changes the current scsi id
if the mouse is released outside the menu.
Revamped some segmentation issues of the INIT.
03/13/94
Unix support is now fully implemented. At least the Mac
portion of it. There is not (yet) a way to mount/umount
Unix-File Systems. But since A/UX offers commands
to do this it's not such a miss.
There also is no Start/Stop when running UNIX cuz the
Kernel wouldn't like it!
The cdev has now been made multi-segment with all the
A/UX stuff in its own seg since I was rapidly approaching
the 32 K limit the linker insists on.
Brand new About-Box! (this is a major feature in some
commercial packages!)
Version 1.0f1
03/29/94
This is final candidate 1.
Fixed several System 6 related bugs: The modifiers field
in the event record passed to the cdev seems to contain
garbage. So I test for modifier keys myself when
running system 6. Fixed the dialog autopositioning code
to produce (nearly) the same results when running sys 6
as when running sys 7. i.e. the modal dialogs now appear
at the same location where they would appear in system 7.
Improved color support.
04/13/94
Fixed some mistakes when displaying partition info for
an A/UX partition (slice number and date). Note that
still the dates may be incorrect. That is because the
impplementation of A/UX does not behave as documented!
Verson 1.0f2
05/01/94
Fixed some typos and added items to balloon help.
Fixed a bug in the SCSI-Transaction code which could
cause an address-error on 68000 macs under certain condi-
tions (Yep, twas a word operation on an odd address.
MC68000s dont like this).
Discovered problems with my old Mac SE which I sold years
ago and which I had the pleasure to get my hands on
recently. That machine is powered by an 16 MHz 020 card
and Mt. Everything behaves bit strange. It did not crash
but showed wrong information regarding wether a drive is
ready or not. An earlier version which did much less
error-checking than we do now seemed to work better.
Since I had no opportunity to test I only guess my Test-
Unit-Ready somehow fails on that machine. Is it the SE-
ROM? Is it the accelerator card or its software? How does
one tell without Macsbug installed?
05/04/94
Added limited suport for DAT-Drives. Now Mt. Everyting is
able to eject DAT cartridges by mouse click. I did it cuz
I needed it. If anybody can urge strongly for a specific
feature, I'll think about it. (No promises)
During the meanwhilst [see Monty Python "The Life of
Brian (soundtrack)" for further reference] while
doing a total rebuild on my Porsche 914 (everything
I didn't fix last winter) I started work on Mt. Every-
thing 2. It's a total rewrite in C++ (for the sake of
PowerPC portabilty, not that I like C++ that much.
Quote: C++ isn't a standard. Its a moving
target). Features will include: Resizable window, support
for SCSI-Manager 4.3 (i.e. multiple SCSI busses), save-
and printable device information with more info to be
available. It's new, it's OOPs and it will eat lots more
of your RAM and it will be System 7 only.
5/8/94
Fixed a timout problem when ejecting a DAT tape. When the
drive didin't manage to eject the tape within the sup-
plied time the SCSI Manager would lock and the Mac would
hang when doing a subsequent disk i/o.
Version 1.0 (final to be released)
9/9/94
After some month of delay due to the hot summer and my
vacancies I discovered a bug while writing the documen-
tation for MTE. It’s the Reload command (option Mount).
This one did not check wether a drive was busy but rather
did close an installed driver from a busy disk and in-
stalled a new copy of the driver. It would do this even
on the disk containing the boot volume or worse the
Virtual Memory backing file! (shudder) Appearently none
of the users tried to do this since I never received a
bug report. But finally this one is fixed.
10/09/94
After just another month being very busy in my job where
I get paid for being busy I added some integrety checks
to the code. Just in case… The documentation matures.
10/12/94
Added a keyboars shortcut for Reload. Its Option-Shif-R
11/17/94
Removed shortcut for Reload since its not compatible
on international keyboards and one should use it rarely.
Now the modal dialogs handle update events for background
windows (at least for the cdev window)
User documentation is ready.
02/01/95
Version 1.0.1
Fixed a noncrucial bug in the SCSI-Code and made some
optimizations.
Fixed some glitches in ballon help.
5/10/95
Fixed some ugly typos and bad stylistics in the docu-
mentation.
Version 1.0.2
08/04/95
Revamped mechanism to call popup-menu to fix some
spurious crashes encountered while using the feature.
No one did report on this bug but on my own machine
problems occured frequently.
09/18/95
In V. 1.0 I introduced some code to check for modifica-
tions made on certain parts of Mt.E. This was due to
the fact that in a german Mac magazine I once foumd a
Control Panel which was a stolen early apha version of
Mt.E that had been modified in a way to show a different
"About" picture and a different author. I wasn ’t very
pleased to see someone steal my work so I dicided to fix
this once and for all. I introduced self checking code
that verifies Mt. Everthing is still the same as it left
my desk and would destroy the running copy if t found
modifications that would not please me, the author. This
has benefits and drawbacks: One of the benefits is a
built-in virus check. If some virulent code tries to hook
into Mt.E it will notice and warn you. The drawback of
course is there are situations where other code modifies
my code: OmegaSANE is an example. This resulted sometime
to Mt.E reporting a modification to one of its resources
and destroying itself where everything was perfectectly
legal. The dog simply was a little too sharp. I revised
this sceme to be more user friendly. Mt.E will no longer
destroy itself but still will give you a warning alert
in case it finds modifications to its own resources. It
is now OmegaSANE compatible. Hackers still will have a
time!
Version 1.0.3
10/16/1995
Ported code to compile with Universal Interfaces 2.1.
Here we are back again on compatibility road!
10/18/1995
Fixed some System 6 related problems in screen update
and revamped parts of the overall appearance.
Streamlined the code for Partition info dialog but its
still a mess. This one really needs a rewrite!
Disabled "Stop-Unit" command for A/UX. Was always inten-
ded to be so but in fact wasn't.
10/22/1995
Partition info now is more verbose with A/UX partitions
In case multiple drivers are found on a disk, the default
one now gets marked. SCSI Mgr 4.3 drivers now will be
displayed as such.
Fixed a bug in my UNIX SCSI-code which luckily was im-
possible to ever show on any users machine but mine!
10/29/95
Added styled display of SCSI standard conformance in main
window. Made this feature switchable. Therefor redesigned
the options dialog.
11/10/95 through 11/19/95
Added an discussion about SCSI Manager 4.3 to documen-
tation and overhauled the rest of it.
**************************************************************
*USS Saratoga was reported to be the code name of the
Apple Extended Keyboard, just in case you didn't know
**************************************************************
***END OF FILE***